In electronic commerce various parties conduct activities without face to face contact. Accordingly, it becomes desirable for each party to any given transaction to be able to determine and verify the authenticity of the other party to the transaction.
Each user can authenticate messages from the other party by the use of a certificate digitally signed by a trusted third party. The critical part of the user's certificate is the user's public key. The authenticity of the certificate can be established by verifying the digital signature of the trusted third party. A message from the user can be authenticated by verifying that it has been digitally signed using the private key matching the public key in the certificate.
A transaction may also require security services. These may include, for example, message integrity, message authentication, message confidentiality, and message non-repudiation. The meaning of the message integrity is, that the message has not been altered. Message authentication is that the message is genuine and was signed by the other party. Message confidentiality is that the message contents are available only to the authorized parties to the transaction and no other parties. And finally, message non-repudiation is that the initiator of the message is unable to repudiate at a later time that the message originated with such party.
In a traditional paper based transaction, the above security services are normally implemented by means of signature, seals, stamps and the like. In an electronic commerce environment these security services are achieved by cryptographic techniques such as digital signature, hash codes, encryption algorithms, and the like.
In order to effectively implement the above security services, a party to an electronic commerce transaction, must have access to a secure cryptographic device capable of securely implementing these cryptographic techniques.
It should be recognized that various protocols have been designed to implement the above mentioned security services. An example of this is set forth in Section 2.1 of the US Department of Commerce document entitled Standard for Public Key Cryptographic Entity Authentication Mechanism, Draft, Mar. 13, 1995, Federal Information Processing Standards Publication JJJ. Public key cryptography algorithms including RSA and algorithms based on Elliptic Curves are used to encrypt, authenticate, and verify integrity of messages. Message digests are generated with algorithms including MD5 and the Secure Hash Algorithm (SHA).
It is known that to enable the above types of cryptographic services, a set of keys is needed. This can be a set of secret keys (for a secret key system) and/or public and private keys (for a public key system). The secret and private keys have to be securely communicated or otherwise provided to a user and thereafter protected.
Public key cryptographic certificates, Certificate Authority and Certificate Management are also known and are the subject of standards. For example ANSI standards X.509 deals with Certificate Management and X.9.30-3 describes Certificate Management for Digital Signature Algorithm. Secure cryptographic Certificate Management devices are known that utilize public key cryptography to verify certificates of public keys, and use the private portion of the key to authenticate documents, transactions, and communications and perform other cryptographic functions. Various enterprises have proposed being a Certificate Authority, for example, the United States Postal Service has proposed entering into electronic commerce as a Certificate Authority based on its acceptance as a trusted third party.